跳到主要内容

BM53 缺失的第一个正整数

https://www.nowcoder.com/practice/50ec6a5b0e4e45348544348278cdcee5

package main

/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型
*/
func minNumberDisappeared( nums []int ) int {
m := make(map[int]struct{})
_max := 0
for _, v := range nums {
_max = max(_max, v)
m[v] = struct{}{}
}

for i := 1; i < len(nums); i++ {
if _, ok := m[i]; !ok {
return i
}
}

return _max+1
}

func max(a, b int) int {
if a > b {
return a
}
return b
}

23/05/22

暴力法

func minNumberDisappeared(nums []int) int {
max, m := 0, make(map[int]struct{})
for i := 0; i < len(nums); i++ {
if nums[i] > max {
max = nums[i]
}
m[nums[i]] = struct{}{}
}

for i := 1; i < max; i++ {
if _, ok := m[i]; !ok {
return i
}
}

return max + 1
}